#include <cellcsp.h>
#include <string>
#include <stdio.h>
#include <csp_debug.h>




int main(){

	char *file = "./tasks/get_runtime_info_yield_task";
	
	CSPConfig conf;

	conf.add_csp_program(file, "get_runtime_info_yield_task");


	//CellCSP_start(conf, &kernel);
	CellCSP_start(conf);

	printf("Running parallel_test with file: %s\n", file);
	
	CSPProcess init0("get_runtime_info_yield_task");
	CSPProcess init1("get_runtime_info_yield_task");
	CSPProcess init2("get_runtime_info_yield_task");
	CSPProcess init3("get_runtime_info_yield_task");
	CSPProcess init4("get_runtime_info_yield_task");
	CSPProcess init5("get_runtime_info_yield_task");
	CSPProcess init6("get_runtime_info_yield_task");
	CSPProcess init7("get_runtime_info_yield_task");
	CSPProcess init8("get_runtime_info_yield_task");
	CSPProcess init9("get_runtime_info_yield_task");
	CSPProcess init10("get_runtime_info_yield_task");
	CSPProcess init11("get_runtime_info_yield_task");
	CSPProcess init12("get_runtime_info_yield_task");
	CSPProcess init13("get_runtime_info_yield_task");
	CSPProcess init14("get_runtime_info_yield_task");
	CSPProcess init15("get_runtime_info_yield_task");
	CSPProcess init16("get_runtime_info_yield_task");
	CSPProcess init17("get_runtime_info_yield_task");
	CSPProcess init18("get_runtime_info_yield_task");
	CSPProcess init19("get_runtime_info_yield_task");











	//init.Run();
	Parallel par(&init0,
				 &init1, 
				 &init2, 
				 &init3, 
				 &init4, 
				 &init5, 
                 &init6,
                 &init7,
                 &init8,
                 &init9,
				 &init10,
				 &init11, 
				 &init12, 
				 &init13, 
				 &init14, 
				 &init15, 
                 &init16,
                 &init17,
                 &init18,
                 &init19,
				 NULL) ; 
	par.Run();
	
	
	/*
	CSPProcess mytask2("mytask1");
	mytask2.Run();
	*/

	CellCSP_end();
	
	return 0;
}
